package JavaSE.d6;


import java.util.TimerTask;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

/*
定时器
 */
public class Test10 {
    public static void main(String[] args) {
        ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(1);//创建线程池，规模1;创建定时任务执行对象
        TimerTask timerTask = new TimerTask(){//创建时间任务
            @Override
            public void run() {
                System.out.println("你好");
                try {
                    Thread.sleep(3000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };
//        scheduledExecutorService.schedule(timerTask,8000, TimeUnit.MILLISECONDS);//执行一次的定时任务
        //以固定频率执行，包含运行时间，小于运行时间按运行时间算
        scheduledExecutorService.scheduleAtFixedRate(timerTask,0,3000,TimeUnit.MILLISECONDS);//耗时3秒
        //以固定频率执行,任务执行时间不算入,结束后才开始计时.
//        scheduledExecutorService.scheduleWithFixedDelay(timerTask,0,3000,TimeUnit.MILLISECONDS);//耗时间6秒
    }
}
